home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / SWI / source / src / Makefile < prev    next >
Encoding:
Makefile  |  1998-05-18  |  9.3 KB  |  344 lines

  1. # Generated automatically from Makefile.in by configure.
  2. ################################################################
  3. # Makefile for SWI-Prolog 2.9
  4. # $Id: Makefile,v 1.91 1998/03/24 13:38:44 jan Exp $
  5. #
  6. # Author:    Jan Wielemaker
  7. #        jan@swi.psy.uva.nl
  8. #        SWI
  9. #        University of Amsterdam
  10. #            Roetersstraat 15
  11. #        1018 WB  Amsterdam
  12. #        The Netherlands
  13. #
  14. # Public targets:
  15. #    * make            Simply makes all programs in the current tree
  16. #    * make install        Installs the libraries and public executables
  17. #    * make install-bins    Link executables from $(exec_prefix)/bin
  18. #    * make install-arch    Install machine dependent files
  19. #    * make install-libs    Install machine independent files
  20. #
  21. # Copyright (c) University of Amsterdam, all rights reserved
  22. # Copyright policy:
  23. #    
  24. #    * Free for personal, academic and internal prototyping purposes
  25. #
  26. #    * A licence is required for distributing commercial applications
  27. #      based on SWI-Prolog.  Contact prolog-request@swi.psy.uva.nl.
  28. ################################################################
  29.  
  30. PLVERSION=2.9.10
  31.  
  32. PL=pl
  33. prefix=/usr/local
  34. exec_prefix=${prefix}
  35. srcdir=.
  36. vpath %.c .
  37. bindir=$(exec_prefix)/bin
  38. PLBASE=$(prefix)/lib/pl-$(PLVERSION)
  39. mansec=1
  40. mandir=$(prefix)/man/man$(mansec)
  41. lmansec=3
  42. lmandir=$(prefix)/man/man$(lmansec)
  43.  
  44. CC=gcc
  45. LIBS=-lreadline -ltermcap -lm 
  46. STATICLIBS=
  47. AWK=awk
  48. SED=sed
  49. ETAGS=:
  50. RANLIB=ranlib
  51. ARCH=AmigaOS
  52. INSTALL=/bin/install -c
  53. INSTALL_PROGRAM=${INSTALL}
  54. INSTALL_DATA=${INSTALL} -m 644
  55.  
  56. COFLAGS=-O2
  57. CWFLAGS=-Wall
  58. CIFLAGS=
  59. CMFLAGS=-funsigned-char
  60. CFLAGS=    $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS) -m68020-40
  61. LDFLAGS=
  62.  
  63. PLFOREIGN=
  64.  
  65. DEFSTARTUP=.plrc
  66.  
  67. PB=../boot
  68. INCLUDEDIR=../include
  69. EXPORTS=$(INCLUDEDIR)/SWI-Exports
  70. CINCLUDE=$(INCLUDEDIR)/SWI-Prolog.h
  71. STREAMH=$(INCLUDEDIR)/SWI-Stream.h
  72. STUBC=$(INCLUDEDIR)/stub.c
  73. STARTUPPATH=$(PL).qlf
  74. RUNTIMEDIR=../runtime/$(ARCH)
  75. PLLIB=libpl.a
  76. RUNTIME=$(RUNTIMEDIR)/$(PLLIB)
  77. LIBRARYDIR=${PLBASE}/library
  78.  
  79.  
  80. OBJ=    pl-atom.o pl-wam.o pl-save.o pl-stream.o pl-error.o \
  81.     pl-arith.o pl-bag.o pl-comp.o \
  82.     pl-dwim.o pl-ext.o pl-file.o pl-flag.o pl-fli.o pl-fmt.o pl-funct.o \
  83.     pl-gc.o pl-glob.o pl-itf.o pl-list.o pl-load.o \
  84.     pl-modul.o pl-op.o pl-os.o pl-prims.o pl-pro.o pl-proc.o \
  85.     pl-prof.o pl-read.o pl-rec.o pl-rl.o pl-setup.o pl-sys.o pl-table.o \
  86.     pl-trace.o pl-util.o pl-wic.o pl-write.o pl-term.o pl-buffer.o
  87. DEPOBJ=    pl-main.o
  88. EXT=    pl-extend.o
  89. ALLOBJ= $(OBJ) $(DEPOBJ) $(EXT)
  90.  
  91. PLINIT=    $(PB)/init.pl
  92.  
  93. SRC=    $(OBJ:.o=.c) $(DEPOBJ:.o=.c) $(EXT:.o=.c) pl-index.c pl-alloc.c
  94. HDR=    config.h parms.h pl-buffer.h pl-ctype.h pl-incl.h pl-itf.h pl-main.h \
  95.     pl-os.h pl-save.h pl-data.h
  96.  
  97. PLSRC=    ../boot/syspred.pl ../boot/toplevel.pl ../boot/listing.pl \
  98.     ../boot/edit.pl ../boot/sort.pl ../boot/bags.pl ../boot/apply.pl \
  99.     ../boot/list.pl ../boot/writef.pl ../boot/history.pl \
  100.     ../boot/profile.pl ../boot/dwim.pl \
  101.     ../boot/foreign.pl ../boot/parms.pl ../boot/autoload.pl \
  102.     ../boot/qlf.pl ../boot/topvars.pl ../boot/messages.pl
  103.  
  104. all:    banner \
  105.     headers system startup index runtime \
  106.     pl-bite chpl plld \
  107.     swipl swiplbin
  108.  
  109. .c.o:
  110.     $(CC) -c -I. -I$(srcdir) $(CFLAGS) $< -o $@
  111.  
  112. system:        $(PL)
  113. startup:    $(STARTUPPATH)
  114. headers:    parms.h $(EXPORTS) $(CINCLUDE) $(STREAMH) $(STUBC)
  115. runtime:    $(RUNTIME)
  116.  
  117. banner:
  118.         @echo "****************"
  119.         @echo "Making SWI-Prolog $(PLVERSION) for $(ARCH)"
  120.         @echo "To be installed in $(exec_prefix)/bin/$(PL)"
  121.         @echo "Home (libraries) in $(PLBASE)"
  122.         @echo "****************"
  123.  
  124.  
  125. $(PL):        $(ALLOBJ)
  126.         $(CC) $(LDFLAGS) -o $(PL) $(ALLOBJ) $(LIBS) $(STATICLIBS) 
  127.  
  128.  
  129. $(STARTUPPATH):    $(PLINIT) $(PLSRC) pl-wam.o pl-wic.o
  130.         ./$(PL) -O -o $(STARTUPPATH) -b $(PLINIT)
  131.  
  132.  
  133. $(RUNTIME):    $(OBJ) $(DEPOBJ)
  134.         if [ ! -d ../runtime ]; then mkdir ../runtime; fi
  135.         if [ ! -d $(RUNTIMEDIR) ]; then mkdir $(RUNTIMEDIR); fi
  136.         rm -f $@
  137.         $(AR) r $@ $(OBJ) $(DEPOBJ)
  138.         $(RANLIB) $@
  139.  
  140. index:
  141.         ./$(PL) -x $(STARTUPPATH) \
  142.             -f none \
  143.             -g make_library_index\(\'../library\'\) \
  144.             -t halt
  145.  
  146. $(INCLUDEDIR):
  147.         if [ ! -d $@ ]; then mkdir $@; fi
  148.  
  149. $(EXPORTS):    Makefile $(srcdir)/pl-itf.h $(INCLUDEDIR)
  150.         echo \#\!$(bindir)/$(PL) > $(EXPORTS)
  151.         grep '^__pl_export' $(srcdir)/pl-itf.h | \
  152.             $(SED) 's/.*\(PL_[a-zA-Z0-9_]*\).*/\1/' | \
  153.             grep -v '_t$$' | \
  154.             sort -u >> $(EXPORTS)
  155.  
  156. $(CINCLUDE):    $(srcdir)/pl-itf.h $(INCLUDEDIR)
  157.         cp $(srcdir)/pl-itf.h $(CINCLUDE)
  158.  
  159. $(STREAMH):    $(srcdir)/pl-stream.h $(INCLUDEDIR)
  160.         cp $(srcdir)/pl-stream.h $@
  161.  
  162. $(STUBC):    $(srcdir)/pl-extend.c $(INCLUDEDIR)
  163.         $(SED) 's/"pl-itf.h"/<SWI-Prolog.h>/' $(srcdir)/pl-extend.c > $@
  164.  
  165.  
  166. parms.h:    Makefile
  167.         @echo "#define PLHOME       \"$(PLBASE)\""      > $@%
  168.         @echo "#define DEFSTARTUP   \"$(DEFSTARTUP)\"" >> $@%
  169.         @echo $(PLVERSION) | \
  170.         $(AWK) -F. '{ printf("#define PLVERSION %d\n", $$1 * 10000 + $$2 * 100 + $$3); }' >> $@%
  171.         @echo "#define ARCH        \"$(ARCH)\""       >> $@%
  172.         @echo "#define C_LIBS        \"$(LIBS)\""       >> $@%
  173.         @echo "#define C_STATICLIBS \"$(STATICLIBS)\"" >> $@%
  174.         @echo "#define C_CC        \"$(CC)\""           >> $@%
  175.         @echo "#define C_LDFLAGS    \"$(LDFLAGS)\""    >> $@%
  176.         @if cmp -s $@% $@; then rm $@%; else mv $@% $@; fi
  177.  
  178. pl-main.o:    parms.h
  179. pl-setup.o:    parms.h
  180. pl-wic.o:    parms.h
  181. pl-funct.o:    $(srcdir)/pl-funct.ih
  182. pl-atom.o:    $(srcdir)/pl-funct.ih
  183. pl-wam.o:    pl-alloc.c pl-index.c
  184.  
  185. $(srcdir)/pl-funct.ih:    $(srcdir)/ATOMS
  186.         cd $(srcdir) ; $(AWK) -f defatom.awk < ATOMS
  187.  
  188. $(srcdir)/pl-atom.ih:    $(srcdir)/ATOMS
  189.         cd $(srcdir) ; $(AWK) -f defatom.awk < ATOMS
  190.  
  191. pl-bite:    $(srcdir)/pl-bite.c
  192.         $(CC) -I. -I$(srcdir) $(CFLAGS) -o $@ $(srcdir)/pl-bite.c
  193.  
  194. chpl:        $(srcdir)/chpl.c
  195.         $(CC) -I. -I$(srcdir) $(CFLAGS) -o $@ $(srcdir)/chpl.c
  196.  
  197. plld:        $(srcdir)/plld.c
  198.         $(CC) -I. -I$(srcdir) $(CFLAGS) -o $@ $(srcdir)/plld.c
  199.  
  200. tags:        TAGS
  201.  
  202. TAGS:        $(SRC)
  203.         $(ETAGS) $(SRC) $(HDR)
  204.  
  205. swipl:
  206.         echo "." > $@
  207. swiplbin:    
  208.         echo ".." > $@
  209.  
  210. pl-funcs.h:    $(SRC)
  211.         mkproto -p $(SRC) > $@
  212.  
  213. install:    dv-install
  214.  
  215. dv-install:    install-arch install-libs install-bins
  216.  
  217. install-bins:    install-arch
  218.         -if [ ! -d $(bindir)  ];    then mkdir $(bindir);     fi
  219.         if [ -r $(bindir)/$(PL) ]; then \
  220.             mv -f $(bindir)/$(PL) $(bindir)/$(PL).old; \
  221.         fi
  222.         for f in $(PL) pl-bite chpl plld; do \
  223.             ( cd $(bindir); rm -f $$f; ln -s $(PLBASE)/bin/$(ARCH)/$$f . ); \
  224.         done
  225.  
  226.  
  227. install-arch:    idirs iruntime
  228.         for f in $(PL) pl-bite chpl plld; do \
  229.             $(INSTALL_PROGRAM) $$f $(PLBASE)/bin/$(ARCH); \
  230.         done
  231.  
  232. install-libs:    idirs iboot ilib iruntime iinclude iman
  233.         $(INSTALL_DATA) $(STARTUPPATH) $(PLBASE)/startup/startup
  234.         $(INSTALL_DATA) swipl $(PLBASE)
  235.         $(INSTALL_DATA) swiplbin $(PLBASE)/bin/swipl
  236.         $(INSTALL_DATA) README.bin $(PLBASE)
  237.         $(INSTALL_DATA) ../LICENSE $(PLBASE)
  238.         cd $(PLBASE)/library; \
  239.            ../bin/$(ARCH)/$(PL) \
  240.             -f none \
  241.             -g make_library_index\('.'\) \
  242.             -t halt
  243.  
  244. installdirs=    bin bin/$(ARCH) lib lib/$(ARCH) man boot library startup \
  245.         include runtime runtime/$(ARCH)
  246.  
  247. iruntime:
  248.         if [ ! -d $(PLBASE)/runtime/$(ARCH) ]; then \
  249.             mkdir $(PLBASE)/runtime/$(ARCH); \
  250.         fi
  251.         if [ -f $(RUNTIME) ]; then \
  252.             $(INSTALL_DATA) $(RUNTIME) $(PLBASE)/runtime/$(ARCH); \
  253.         fi
  254.  
  255. idirs:
  256.         -if [ ! -d $(prefix)/lib  ];    then mkdir $(prefix)/lib;     fi
  257.         -if [ ! -d $(PLBASE)  ];    then mkdir $(PLBASE);     fi
  258.         for d in $(installdirs); do \
  259.             if [ ! -d $(PLBASE)/$$d ]; then \
  260.                 mkdir $(PLBASE)/$$d; \
  261.             fi; \
  262.         done
  263.  
  264.  
  265. iboot:        
  266.         cd ../boot; \
  267.         for f in *.pl; do $(INSTALL_DATA) $$f $(PLBASE)/boot; done
  268. ilib:        
  269.         cd ../library; \
  270.         for f in *.pl MANUAL; do \
  271.             $(INSTALL_DATA) $$f $(PLBASE)/library; \
  272.         done
  273.  
  274. iinclude:       
  275.         cd ../include; \
  276.         for f in SWI-Prolog.h SWI-Exports SWI-Stream.h stub.c; do \
  277.             if [ -f $$f ]; then \
  278.             $(INSTALL_DATA) $$f $(PLBASE)/include; \
  279.             fi; \
  280.         done
  281.         if [ -d $(prefix)/include -a -w $(prefix)/include ]; then \
  282.             $(INSTALL_DATA) ../include/SWI-Prolog.h $(prefix)/include; \
  283.         fi
  284.  
  285. iman:
  286.         $(INSTALL_DATA) pl.1 $(plmandir)/$(PL).$(mansec)
  287.         $(INSTALL_DATA) $(srcdir)/chpl.1 $(plmandir)/chpl.$(mansec)
  288.         $(INSTALL_DATA) $(srcdir)/plld.1 $(plmandir)/plld.$(mansec)
  289.         $(INSTALL_DATA) $(srcdir)/readline.3 $(plmandir)/readline.$(lmansec)
  290.         -if [ ! -d $(man_prefix) ]; then mkdir $(man_prefix); fi
  291.         -if [ ! -d $(mandir)  ];    then mkdir $(mandir);     fi
  292.         -if [ ! -d $(lmandir) ];    then mkdir $(lmandir);    fi
  293.         -$(INSTALL_DATA) $(plmandir)/$(PL).$(mansec) $(mandir)
  294.         -$(INSTALL_DATA) $(plmandir)/chpl.$(mansec) $(mandir)
  295.         -$(INSTALL_DATA) $(plmandir)/plld.$(mansec) $(mandir)
  296.         -if [ ! -r $(lmandir)/readline.$(lmansec) ]; then \
  297.           $(INSTALL_DATA) $(plmandir)/readline.$(lmansec) $(lmandir); \
  298.         fi
  299.  
  300. #
  301. # runtime-only environment installation
  302. #
  303.  
  304. RTHOME=        $(prefix)/lib/rt-pl-$(PLVERSION)
  305. RTDIRS=        $(RTHOME) $(RTHOME)/bin $(RTHOME)/lib $(RTHOME)/lib/$(ARCH) \
  306.         $(RTHOME)/man $(RTHOME)/bin/$(ARCH)
  307.  
  308. rt-install:
  309.         @echo "****************"
  310.         @echo "Creating runtime environment in $(RTHOME)"
  311.         @echo "****************"
  312.         @for d in $(RTDIRS); do \
  313.             if [ ! -d $$d ]; then \
  314.             echo mkdir $$d; \
  315.             mkdir $$d; \
  316.             fi; \
  317.         done
  318.         $(INSTALL_PROGRAM) $(PL) $(RTHOME)/bin/$(ARCH)/pl
  319.         $(INSTALL_PROGRAM) chpl $(RTHOME)/bin/$(ARCH)/chpl
  320.         $(INSTALL_DATA) $(srcdir)/pl.1 $(RTHOME)/man/pl.1
  321.         $(INSTALL_DATA) $(srcdir)/chpl.1 $(RTHOME)/man/chpl.1
  322.         $(INSTALL_DATA) swipl $(RTHOME)/swipl
  323.         $(INSTALL_DATA) swiplbin $(RTHOME)/bin/swipl
  324.         $(INSTALL_DATA) $(srcdir)/README.RT $(RTHOME)
  325. #        -cd $(bindir); rm -f plrt; ln -s $(RTHOME)/bin/$(ARCH)/pl plrt
  326.  
  327. #
  328. # Cleanup
  329. #
  330.  
  331. clean:
  332.         rm -f *.o a.out core *~ #* parms.h
  333.  
  334. distclean:    clean
  335.         rm -f config.log config.cache
  336.  
  337. realclean:    clean
  338.         rm -f $(STARTUPPATH)
  339.         rm -f config.log config.cache
  340.         rm -rf $(PL) pl-bite ../startup ../include ../runtime
  341.  
  342.